package com.ykyl.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ykyl.base.BaseVo;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 *
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class RefundRecordVo extends BaseVo {

    private static final long serialVersionUID = 1L;

    @Builder
    public RefundRecordVo(Long id, String dataState, Long tradingOrderNo, Long productOrderNo, Long refundNo, Long enterpriseId, Long storeId, String tradingChannel, Integer refundStatus, String refundCode, String refundMsg, String memo, BigDecimal refundAmount, Integer orderStatus) {
        super(id, dataState);
        this.tradingOrderNo = tradingOrderNo;
        this.productOrderNo = productOrderNo;
        this.refundNo = refundNo;
        this.enterpriseId = enterpriseId;
        this.storeId = storeId;
        this.tradingChannel = tradingChannel;
        this.refundStatus = refundStatus;
        this.refundCode = refundCode;
        this.refundMsg = refundMsg;
        this.memo = memo;
        this.refundAmount = refundAmount;
        this.orderStatus = orderStatus;
    }

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long tradingOrderNo;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long productOrderNo;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long refundNo;

    private String refundNoStr;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long enterpriseId;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long storeId;

    private String tradingChannel;

    private Integer refundStatus;

    private String refundCode;

    private String refundMsg;

    private String memo;

    private BigDecimal refundAmount;

    /**
     * 开始时间
     */
    private Integer orderStatus;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;
    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    private int pageNum = 1;
    private int pageSize = 10;


    private String orderNo;

}
